package com.wzdigit.wms.raw.client.request.postback;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 数据回传管理页面，查询入参
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class PostbackRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 目标系统
     */
    @ApiModelProperty("目标系统")
    private String destSystem;

    /**
     * 回传主题
     */
    @ApiModelProperty("回传主题")
    private String postbackTopic;

    /**
     * 创建时间-开始
     */
    @ApiModelProperty(value = "创建时间-开始",hidden = true)
    private Date createTimeStart;

    /**
     * 创建时间-开始
     */
    @ApiModelProperty(value = "创建时间-开始,时间戳")
    private Long createTimeStartLong;

    /**
     * 创建时间-结束
     */
    @ApiModelProperty(value = "创建时间-结束",hidden = true)
    private Date createTimeEnd;

    /**
     * 创建时间-结束
     */
    @ApiModelProperty(value = "创建时间-结束,时间戳")
    private Long createTimeEndLong;


    /**
     * 回传时间-开始
     */
    @ApiModelProperty(value = "回传时间-开始",hidden = true)
    private Date postbackTimeStart;

    /**
     * 回传时间-开始
     */
    @ApiModelProperty("回传时间-开始,时间戳")
    private Long postbackTimeStartLong;

    /**
     * 回传时间-结束
     */
    @ApiModelProperty(value = "回传时间-结束",hidden = true)
    private Date postbackTimeEnd;

    /**
     * 回传时间-结束
     */
    @ApiModelProperty("回传时间-结束,时间戳")
    private Long postbackTimeEndLong;

    /**
     * 回传结果
     */
    @ApiModelProperty("回传结果")
    private Integer postbackResult;

    /**
     * 回传单号
     */
    @ApiModelProperty("回传单号")
    private String postbackNo;

    /**
     * 回传源单号
     */
    @ApiModelProperty("回传源单号")
    private String postbackSourceNo;

    /**
     * 回传单类型
     */
    @ApiModelProperty(value = "回传单类型",hidden = true)
    private String postbackType;

    /**
     * 模糊查询
     */
    @ApiModelProperty("模糊查询：回传单号/回传源单号查询")
    private String filter;

}
